package cn.kgm.template.server.struct;

import cn.kgm.template.dto.dto.TemplateInputsSaveDTO;
import cn.kgm.template.dto.dto.TemplateInputsUpdateDTO;
import cn.kgm.template.dto.query.TemplateInputsPageQuery;
import cn.kgm.template.dto.vo.TemplateInputsVO;
import cn.kgm.template.server.entity.TemplateInputs;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * # 技术改变自己 #
 * 模板数据,输入框类型
 *
 * @author kapp-i
 * @date 2024-03-18 14:47:46
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface TemplateInputsMappers {
    TemplateInputsMappers INSTANCE = Mappers.getMapper(TemplateInputsMappers.class);

    /**
     * 将 TemplateInputsSaveDTO 映射成 TemplateInputs 对象
     *
     * @param source 源对象
     * @return TemplateInputs
     */
    TemplateInputs mapToEntity(TemplateInputsSaveDTO source);

    /**
     * 将 TemplateInputsUpdateDTO 映射成 TemplateInputs 对象
     *
     * @param source 源对象
     * @return TemplateInputs
     */
    TemplateInputs mapToEntity(TemplateInputsUpdateDTO source);

    /**
     * TemplateInputsPageQuery 映射成 TemplateInputs 对象
     *
     * @param source 源对象
     * @return TemplateInputs
     */
    TemplateInputs mapToEntity(TemplateInputsPageQuery source);

    /**
     * TemplateInputsPageQuery 映射成 TemplateInputs 对象
     *
     * @param source 源对象
     * @return TemplateInputsVO
     */
    TemplateInputsVO mapToEntity(TemplateInputs source);

}
